<?php
/*
	Aurus CMS - free OOP CMS
	Copyright (C) 2010  Nestor Yanchuk

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 2 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('ROOT')) die();
class Parser_Tag_url extends Parser {
	public $tags_inside = true;

	public function get($inner, $param = '') {
		$rel = '';
		$param = urldecode($param);
		if (!$param) $param = $url;
		if (!$this->allow_index_url) {
			$rel = ' rel="nofollow"';
		}
		if (Config::get('external_to_internal', 'class_parser')) {
			$param = Aurus::externalToInternalUrl($param);
		}
		return '<a target="_blank" href="' . Security::cleanXSSUrl($param) . '"' . $rel . '>' . $inner . '</a>';
	}
	public function unparse($text) {
		return preg_replace('~\<a.*?href=([\'"]?)(.+?)\\1.*?>(.*?)<\/a>~ise', "self::normalizeUrl('\\2','\\3')", $text);
	}
	private function normalizeUrl($url, $inner) {
		$url = urldecode($url);
		$end = explode(LINK_ROOT . 'go.php?', $url);
		$url = end($end);
		return '[url=' . Security::cleanXSSUrl($url) . ']' . $inner . '[/url]';
	}
}
